package hotel.switchs.oversea.online.mapper;

import hotel.base.oversea.entity.SwitchPriceBaseSetEntity;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.BaseMapper;

import java.util.List;

/**
 * @Author lmf
 * @Date 2020/9/10 16:00
 **/
public interface SwitchPriceBaseSetMapper extends BaseMapper<SwitchPriceBaseSetEntity> {
    /**
     * @author: lmf
     * @date: 2020/9/10 18:35
     * 更新上架流程
     */
    int updateById(SwitchPriceBaseSetEntity switchPriceBaseSetEntity);
    /**
     * @author: lmf
     * @date: 2020/9/11 10:30
     * 根据渠道获取对应的价格数据
     */
    List<SwitchPriceBaseSetEntity> selectByChannelName(@Param("channel") String channel);
    /**
     * @author: lmf
     * @date: 2020/9/11 10:30
     * 根据渠道获取对应的价格数据
     */
    List<SwitchPriceBaseSetEntity> selectByChannelNameAndDay(@Param("channel") String channel, @Param("day") Integer day);
    /***
    * @Author: lmf
    * @Date: 2021/3/1
     * 根据公式类型获取公式
    */
    List<SwitchPriceBaseSetEntity> selectFormualList(@Param("formula") Integer formula);
    /***
    * @Author: lmf
    * @Date: 2021/3/1
     * 根据渠道获取对应的单独价格价格数据
    */
    List<SwitchPriceBaseSetEntity> selectByChannelNameAndRelation(@Param("channel") String channel, @Param("hotelId") Integer hotelId);
    /***
    * @Author: lmf
    * @Date: 2021/3/2
     * 获取所有的价格公式
    */
    List<SwitchPriceBaseSetEntity> getList();
    /***
    * @Author: lmf
    * @Date: 2021/3/8
     * 获取酒店的价格公式列表
    */
    List<SwitchPriceBaseSetEntity> selectListByHotelId(@Param("hotelId") Integer hotelId, @Param("day") int day);
    /***
    * @Author: lmf
    * @Date: 2021/3/9
     * 获取酒店的专属价格公式
    */
    List<SwitchPriceBaseSetEntity> selectByChannelNameAndHotelRelation(@Param("hotelId") int swHotelId, @Param("channel") String channel, @Param("day") int day);
    /***
    * @Author: lmf
    * @Date: 2021/3/30
     * 获取消息配置
    */
    SwitchPriceBaseSetEntity selectById(@Param("id") Integer id);

    /***
     * @Author: lmf
     * @Date: 2021/4/15
     * 根据主键id 更新价格
     */
    int updateFormulaById(@Param("id") Integer id, @Param("rate") double rate);
}
